package com.coolingme.general;

/**
 * 备忘录测试
 *
 * @author wangyue
 * @date 2020-09-26 17:32
 */
public class Test {

    public static void main(String[] args) {
        // 发起人
        Originator originator = new Originator();
        originator.setState("第一版");

        // 备忘录管理员
        Caretaker caretaker = new Caretaker();
        // 管理员存储发起人的备忘录
        caretaker.storeMemento(originator.createMemento());
        System.out.println("发起人当前状态：" + originator.getState());

        // 重新设置一个状态
        originator.setState("第二版");
        System.out.println("发起人当前状态：" + originator.getState());

        // 发起人从管理员获取备忘录进行回滚，获取之前的状态
        originator.restoreMemento(caretaker.getMemento());
        System.out.println("发起人当前状态：" + originator.getState());
    }

}
